package com.ouc.eddyAlgorithm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ouc.common.annotation.Excel;
import com.ouc.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 涡旋跟踪后表对象 vg_after_track
 * 
 * @author yh
 * @date 2025-02-06
 */
public class VgAfterTrack extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 数据库编号 */
    private Integer id;

    /** 跟踪编号 */
    @Excel(name = "跟踪编号")
    private Integer track;

    /** 是否异常涡旋，1为异常 */
    @Excel(name = "是否异常涡旋，1为异常")
    private Integer isAnomalous;

    /** 观测时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "观测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 涡旋类型 */
    @Excel(name = "涡旋类型")
    private Integer type;

    /** 涡旋半径 */
    @Excel(name = "涡旋半径")
    private Double radius;

    /** 网格横坐标 */
    @Excel(name = "网格横坐标")
    private Integer i;

    /** 纬度 */
    @Excel(name = "纬度")
    private Double lat;

    /** 网格纵坐标 */
    @Excel(name = "网格纵坐标")
    private Integer j;

    /** 经度 */
    @Excel(name = "经度")
    private Double lon;

    /** 开始层级 */
    @Excel(name = "开始层级")
    private Integer beginLevel;

    /** 结束层级 */
    @Excel(name = "结束层级")
    private Integer endLevel;

    /** 流速最大值 */
    @Excel(name = "流速最大值")
    private Double w;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setTrack(Integer track) 
    {
        this.track = track;
    }

    public Integer getTrack() 
    {
        return track;
    }
    public void setIsAnomalous(Integer isAnomalous) 
    {
        this.isAnomalous = isAnomalous;
    }

    public Integer getIsAnomalous() 
    {
        return isAnomalous;
    }
    public void setDate(Date date) 
    {
        this.date = date;
    }

    public Date getDate() 
    {
        return date;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setRadius(Double radius) 
    {
        this.radius = radius;
    }

    public Double getRadius() 
    {
        return radius;
    }
    public void setI(Integer i) 
    {
        this.i = i;
    }

    public Integer getI() 
    {
        return i;
    }
    public void setLat(Double lat) 
    {
        this.lat = lat;
    }

    public Double getLat() 
    {
        return lat;
    }
    public void setJ(Integer j) 
    {
        this.j = j;
    }

    public Integer getJ() 
    {
        return j;
    }
    public void setLon(Double lon) 
    {
        this.lon = lon;
    }

    public Double getLon() 
    {
        return lon;
    }
    public void setBeginLevel(Integer beginLevel) 
    {
        this.beginLevel = beginLevel;
    }

    public Integer getBeginLevel() 
    {
        return beginLevel;
    }
    public void setEndLevel(Integer endLevel) 
    {
        this.endLevel = endLevel;
    }

    public Integer getEndLevel() 
    {
        return endLevel;
    }
    public void setW(Double w) 
    {
        this.w = w;
    }

    public Double getW() 
    {
        return w;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("track", getTrack())
            .append("isAnomalous", getIsAnomalous())
            .append("date", getDate())
            .append("type", getType())
            .append("radius", getRadius())
            .append("i", getI())
            .append("lat", getLat())
            .append("j", getJ())
            .append("lon", getLon())
            .append("beginLevel", getBeginLevel())
            .append("endLevel", getEndLevel())
            .append("w", getW())
            .toString();
    }
}
